Multichannel ring and star networks with limited channel conversion

ABSTRACT

A ring communication network according to an embodiment of the present invention includes a plurality of nodes in which a single one of the nodes is configured for full channel conversion and the remaining nodes, other than the single node, are configured for no channel conversion. Links with no more than W channels couple the nodes. The ring communication network also may include N nodes and links connecting the nodes for carrying data in W channels such that N≧2 log 2  W−1 where W is a power of 2. Each of the N nodes includes switches connected such that each channel of a first one of the links adjacent to any one of the N nodes can be switched to no more than W−1 channels of another one of the links adjacent any one node.

RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.11/131,056, filed May 16, 2005 now U.S. Pat. No. 7,606,180, which is acontinuation of International application Ser. No. 09/362,635, filedJul. 21, 1999 (issued as U.S. Pat. No. 6,970,433 on Nov. 29, 2005),which is a divisional of U.S. application Ser. No. 08/641,061, filedApr. 29, 1996 (issued as U.S. Pat. No. 6,108,311 on Aug. 22, 2000). Theentire teachings of the above applications are incorporated herein byreference.

GOVERNMENT SUPPORT

The invention was supported, in whole or in part, by a grantMDA972-95-C-0001 from Advanced Research Projects Agency (ARPA). TheGovernment has certain rights in the invention.

BACKGROUND OF THE INVENTION

A multichannel link comprises a number of channels, say W, between twosites. These channels may be transmitted separately (for example overparallel wires or fiber cables) or multiplexed on to one of a smallnumber of wires or fibers using time or channel division multiplexing.Usually these links are realized in the form of line cards, one for eachchannel at each end of the link. A line card is a device that providesan interface between the I/O for the channel and the transmissionmedium. The set of line cards associated with each end of a link alongwith any associated multiplexing/demultiplexing unit is called amultiplexor.

One example is the IBM optical multiplexer system [1]. This systemmultiplexes up to ten full-duplex channels on to a single transmissionlink.

Multiplexors can be connected in a ring or star network configurationacross multiple sites (herein called nodes). Nodes may be configured toallow pairs of channels to be connected to one another. This may beaccomplished by some kind of switching at the node. For example,consider a network realized by line cards. In addition, consider twochannels from different links, but where the links are incident to acommon node. Each of these channels has a line card at the node. Supposethe line cards are connected. Then the channels may be connected to eachother since the signal from one channel may be transferred to the otherchannel by going through the line cards and the connection between theline cards. If a pair of channels may be connected to one another, asfor example, through a switching network, then we refer to them as beingattached.

A node is said to be configured if pairs of its incident channels areattached. The network is said to be configured if each of its nodes isconfigured. For a network configuration, a node is said to have channeldegree k if for each pair of its incident links, the channels of thelinks have the following property: each channel in one link is attachedto k channels of the other link. A node has full channel conversion ifits channel degree is W. A node is said to have fixed channel conversionif its channel degree is one. Suppose at each link in the network, thechannels are numbered {0, 1, . . . , W−1}. Then a node is said to haveno channel conversion if its channel degree is such that channels withthe same number are attached.

A network is configured so that end-to-end communication connectionsbetween pairs of nodes may be established in the network. An end-to-endcommunication connection is specified by a path in the network, and itis realized by a set of channels, one from each link along the path sothat channels that are incident to a common node are attached throughthe node. This realization allows a signal that is sent from one end ofthe path to be received at the other end by being transported along theattached channels. The path corresponding to an end-to-end communicationconnection will be referred to as a route, and a set of channels thatrealizes the end-to-end communication connection will be referred to asa channel assignment for the route.

Note that it is straightforward to realize a set of end-to-endcommunication connections in a network configured so that each node hasfull channel conversion. It is more cost effective to have nodesconfigured so that some or all nodes have channel degree less than W,i.e., allow only limited switching capability at the nodes. However, ingeneral, networks configured to have less than full channel conversionat each node may require more channels to realize the same end-to-endcommunication connections than if they were configured to have fullchannel conversion at each node.

A request is a set of routes and corresponds to a set of end-to-endcommunication connections. The load of a request is the valuemax_(eεE)λ_(e), where λ_(e) denotes the number of routes using link eand E denotes the set of links in the network. For a networkconfiguration, a channel assignment for a request is a collection ofassignments for routes, one per route of the request, such that eachchannel is assigned to at most one route of the request, i.e., no tworoutes will share a channel. Note that a channel assignment for arequest realizes all of the end-to-end communication connectionscorresponding to the request.

Prior art focuses on networks with either no channel conversion ornetworks with full channel conversion. For the case where all nodes havefull channel conversion, (i.e., k=W), a sufficient (and necessary)condition for feasibility is W≧λ_(max), where λ_(max) is the load forthe request. For the case when all nodes have no channel conversion(hence at each node, k=1), [2] gives a method that performs a channelassignment using W≧2λ_(max) on a ring network and

$W \geq {\frac{3}{2}\lambda_{\max}}$for a star network.

Prior art also proposes several heuristic channel assignment schemes fornetworks without channel conversion that may not be efficient in termsof using a small number of channels to perform the channel assignment.For example, see [3, 4, 5, 6, 7, 8]. For the case of limited channelconversion, [9, 10] propose some network configurations and someheuristic channel assignment schemes for these configurations that againmay not be efficient in terms of using a small number of channels toperform the channel assignment. Prior art does not propose configurationmethods and efficient channel assignment techniques for networks withlimited channel conversion.

SUMMARY OF THE INVENTION

The invention proposes configurations of ring and star networks withlimited channel conversion to efficiently support connections. Inaddition, algorithms are provided to efficiently assign channels toconnections.

More specifically, it is an object of this invention to provide a costeffective network by using nodes with limited switching capability.

It is also an object of this invention to efficiently assign channels tolinks of a network with nodes having limited switching capabilities soas to maximize network resources. More generally, it is the overallobject of this invention to configure a network and assign channels tothe network in a cost effective manner.

The invention achieves the following results:

In a ring network with N nodes, the invention proposes a networkconfiguration and for this configuration, proposes a channel assignmentmethod for any request with load λ_(max) that uses

-   -   λ_(max) channels with channel degree at most k=2 at each node        provided N≧2 log₂ λ_(max)−1 and W is a power of two.    -   λ_(max) channels with channel degree at most Δ+1 at each node,        where Δ>1, provided N≧log_(Δ)λ_(max).

In a star network, the invention proposes a configuration and for thisconfiguration, proposes a channel assignment method for any request withload λ_(max) that uses λ_(max) channels with fixed conversion.

In a network with an arbitrary topology the invention proposes aconfiguration and for this configuration, proposes a channel assignmentmethod for any request with load λ_(max) where no connection is morethan 2 hops, that uses λ_(max) channels with fixed conversion.

Accordingly, this invention provides for a method of configuring nodesin a ring communications network wherein one of the nodes of ring isdesignated as a primary node, which is configured to have full channelconversion. That is, any two channels between its two incident links canbe connected to each other. The other nodes of the network areconfigured to have no channel conversion. That is, any channel c on oneof the incident links of a node is connected to the same channel c onthe other incident link of the node. This invention also provides amethod of assigning channels in a ring communications network which isconfigured as described in the previous paragraph. With the assignmentscheme of the invention the paths used for end-to-end communicationconnections are divided into cut paths and uncut paths, where a cut pathis a path that passes through the primary node, while an uncut path doesnot pass through the primary node. Each cut path p_(i) is divided intotwo paths a_(i) and b_(i) by splitting path p_(i) at the primary node,where the primary node becomes an end node for paths a_(i) and b_(i).The paths a_(i) and b_(i) are referred to as residual paths. Then, eachlink along each uncut path is assigned a single channel, and each linkalong a residual path is assigned the same channel. Thus, a cut path canuse two different channels corresponding to its two residual paths.

This invention also comprises a network which is configured as above.

This invention also provides a method of configuring nodes of a ringcommunications network having multichannel multiplexed links. With thismethod, the N nodes of the ring are numbered consecutively starting atthe primary node and proceeding in one direction around the ring. Also,the link between nodes i and (i+1) mod Nis given the number i. Then,each of the nodes is configured such that channel c on link i may beconnected to one of Δ+1 channels on link (i+1) mod N, where Δ is greaterthan or equal to 2 and where one of the channels on link (i+1) mod N ischannel (C+1) mod W, where the other A channels on link (i+1) mod N arechannels (C−k·Δ^(i)) mod W for k=0, 1, .., Δ−1 and where W is the numberof channels in each link. This invention also describes a method ofassigning the channels in a ring communications network configured asdescribed in the previous paragraph, and the details of this assignmentscheme is described in the specification.

This invention also describes a method of configuring the nodes in anarbitrary network having N nodes and E links, where each link is amultichannel multiplexed link having W channels, and where W is an eveninteger. With this aspect of the invention, the channels are numberedfrom 0 to W−1, and at each node, for channels i=0, 1, . . . , W/2−1,channel i on one link is connected to channel w(i) on all other linksincident to

A final aspect of the invention is a method of assigning channels to thearbitrary that node, where w(i)=i+W/2.

A final aspect of the invention is a method of assigning channels to thearbitrary network configured as in the previous paragraph. Thisassignment scheme is described in the specification.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a configuration of multiplexors in a ring network for thecase of full conversion at one node and no conversion at the othernodes.

FIG. 2 shows a simplified diagram of a 4-node ring network and a samplerequest.

FIG. 3 shows the graph H, representing a Benes permutation network forthe case of 4 wavelengths (W=4) along with a set of edge-disjoint pathsin H.

FIG. 4 shows a configuration of multiplexors in a ring networkcorresponding to a Benes network configuration.

FIG. 5 shows the setting of the switches and the channel assignment forthe request of FIG. 2 in a ring network with channel degree 2 for theconfiguration of FIG. 4.

FIG. 6 shows a configuration of multiplexors in a ring network for thecase of channel degree 3.

FIG. 7 shows the setting of the switches and the channel assignment forthe request of FIG. 2 in a ring network with channel degree 3 for theconfiguration of FIG. 6.

FIG. 8 shows a configuration of multiplexors in a star network withfixed channel conversion.

FIG. 9 (A) shows a simplified diagram of a star network with 4 end nodesand a sample request of routes. (B) shows how to direct the routes asdescribed in the embodiment of the invention. (C) shows the constructionof a bipartite graph and channel assignments for this request.

FIG. 10 shows the setting of the switches and the channel assignment forthe request of FIG. 9 for the configuration of FIG. 8.

The foregoing will be apparent from the following more particulardescription of example embodiments of the invention, as illustrated inthe accompanying drawings in which like reference characters refer tothe same parts throughout the different views. The drawings are notnecessarily to scale, emphasis instead being placed upon illustratingembodiments of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Ring Network

FIG. 1 shows the block diagram of multiplexors 101 connected in a ringnetwork configuration. Each node 102 in the network consists of a pairof multiplexors. Two nodes are connected by a transmission link ormedium 103. The figure shows 4 channels on each link. For each channelthere is a line card 104 within each multiplexor 101. A line cardconsists of an I/O port 105, multiple local ports 106 and a line port107 and a switch (not shown in the figure) that allows any pairs ofthese ports to be connected together. For the case of the ring network,the number of local ports per line card is at least the channel degreedefined earlier. In FIG. 1 node 0 has channel degree 4 while other nodeshave channel degree 1. Node 0 is called the primary node. The line portsof all the line cards within a multiplexor are connected to a mux/demuxunit 108 which combines all the channels on to the transmission link.Within each node the line cards from one multiplexor are hard wired tothe line cards in the other multiplexor according to a specific wiringpattern 109 given later. This wiring pattern determines which channelsare attached to each other within the node. In node 0 for example, eachchannel is attached to all the channels. In the other nodes each channelis attached only to other channels with the same channel number.

In the subsequent discussion, we will provide feasibility results forthe following network configurations: (i) one node has full channelconversion and the other nodes have no channel conversion, (ii) allnodes have channel degree at most two, (iii) all nodes have channeldegree at most Δ+1, where Δ is an integer greater than one. In thediscussion, we will assume, without loss of generality, the following:

-   -   each link has its channels numbered {0, 1, . . . , W−1}, where W        is the number of channels per link;    -   nodes are numbered 0, 1, . . . , N−1 around the ring, where N        denotes the number of nodes; and    -   for each i=0, 1, . . . , N−1, the link between node i and node        (i+1) mod N is numbered i.        Configuration with Full Channel Conversion at One Node and No        Channel Conversion at Other Nodes

The ring network is configured so that one of its nodes has full channelconversion. This node is referred to as the primary node, and withoutloss of generality, let it be node 0. The other nodes have no channelconversion.

Suppose we are given a request {p₁, . . . , p_(m)}, where m is thenumber of routes in the request. Then the following is a channelassignment for the request. First, refer to routes that pass throughnode 0 as cut routes and the rest of the routes as uncut. A set P ofpaths is generated as follows. Include each uncut route in P. For eachcut route p_(i), cut (or split) it at node 0 into a pair of paths{a_(i), b_(i)} called residual paths such that each residual pathincludes node 0. Without loss of generality, let a_(i) correspond to theresidual path that traverses link N−1, and let b_(i) correspond to theresidual path that traverses link 0. Refer to a_(i) as the left residualpath, and b_(i) as the right residual path. (For example, if N=5 andp_(i) is a path with the sequence of nodes 4-5-0-1-2 then the residualpath a_(i) corresponds to 4-5-0 and b_(i) corresponds to 0-1-2). Includethe residual paths in P.

Next, partition the paths in P into W subsets (P₀, P₁, . . . , P_(w−1))such that paths in the same subset do not traverse common links of thering network. We will refer to the partition (P₀, P₁, . . . , P_(w−1))as a cut-and-color partition for the request. One way to find acut-and-color partition is to assign channel numbers {0, . . . , W−1} tothe paths in P such that paths with a common link have distinct numbers.This is like coloring paths in an interval graph [11, Sec. 16.5] becauseno path of P crosses through node 0. Hence, we can use a greedyalgorithm assignment that requires λ_(max) numbers [11, Sec. 16.5]).[11] is hereby incorporated by reference. Then for i=0, 1, . . . , W−1,all paths that have been assigned to channel number i are in subsetP_(i).

We will now describe the channel assignment for the request. For eachuncut route p_(i), channel number j is assigned to it where j satisfiesp_(i)εP_(j). For each link traversed by p_(i), the channel numbered j ofthat link is assigned to p_(i). For each cut route p_(i), two channelnumbers j_(a) and j_(b) are assigned to it, where the channel numberscorrespond to the left residual path a_(i), and right residual pathb_(i) of p_(i). In particular, j_(a) satisfies a_(i)εP_(ja1), and j_(b)satisfies b_(i)εP_(jb). For each link traversed by p_(i), a channel isassigned to p_(i) as follows. If the link is traversed by a_(i) then thechannel numbered j_(a) is assigned to p_(i). Otherwise, the link must betraversed by b₁, and the channel numbered j_(b) is assigned to p_(i).

The desired channel assignment can be realized by setting the switchesin the configured network appropriately, as shown in the example below.

Example: Consider the 4-node network of FIG. 1 redrawn in FIG. 2 withW=4 channels and let the request be

-   -   p₀=0-1-2    -   p_(i)=1-2-3    -   p₂=2-3-0-1    -   p₃=2-3-0    -   p₄=3-0-1-2        and    -   p₅=1-2-3        be as shown in the figure. Node 0 is the primary node. Then a        cut-and-color partition for the request is the routes with    -   P₀={p₀, a₂}    -   P₁={b₂, p₁, a₄}    -   P₂={b₄, p₃}        and    -   P₃={p₅}        where a₂=2-3-0, b₂=0-1 and a₄=3-0, b₄=0-1-2. Here a_(i) and        b_(i) correspond to the cut routes of p_(i). Thus the individual        routes would be assigned channels as shown below and in FIG. 2.

Links Route 0 1 2 3 p₀ 0 0 — — p₁ — 1 1 — p₂ 1 — 0 0 p₃ — — 2 2 p₄ 2 2 —1 p₅ — 3 3 —Configuration for Channel Degree 2

Suppose W is a power of two and N≧2 log₂ W−1. There is a configurationwith channel degree two at each node with the following property. Allrequests that have load at most W are feasible.

The configuration attaches pairs of channels to form a permutationnetwork. To be more specific, channels are attached according to a newgraph H, which has the following properties:

-   -   The set of vertices of H may be organized into s+1 stages,        numbered 0, 1, . . . , s, where s≦N+1, such that there are W        vertices {u₀, . . . , u_(w−1)} at stage 0 and there are W        vertices {v₀, . . . , v_(w−1)} at stage s. For the sake of        discussion, label the vertices at stage 0 {u₀, . . . , u_(q−1)}        and the vertices at stage s {v₀, . . . , v_(q−1)}. We will also        refer to those stages i=1, 2, . . . , s−1 (i.e., those that are        not stage 0 or stage s) as the intermediate stages.    -   The set of edges of H are between consecutive stages of vertices        such that there are exactly W edges between stages. To be more        specific, for i=0, 1, . . . , s−1, there are W edges between        stage i and stage i+1.    -   Each vertex in the stage 0 has exactly one incident edge. Each        vertex in stage s has exactly one incident edge.        The graph H has the following additional property. Let any        function ƒ(•) on {0, . . . , W−1} be called a permutation if        (ƒ(0), . . . , ƒ(W−1)) are distinct values of {0, . . . , W−1}.        For example, if ƒ(•) is a function on {0, 1, 2, 3} and (ƒ(0),        ƒ(1), ƒ(2), ƒ(3))=(1, 3, 0, 2) then it would be a permutation on        {0, 1, 2, 3}. Now H has the property that for any permutation        π(•) on {0, . . . , W−1}, there is a collection (τ(•), h₀, h₁, .        . . , h_(w−1)), where    -   τ(•) is a permutation on {0, . . . , W−1};    -   {h₀, h₁, . . . , h_(w−1)} is a collection of W paths in H;    -   for each i=0, 1, . . . , W−1, path h_(i) starts at vertex        u_(τ(π(i))) in stage 0, traverses stages 1, 2, . . . , s−1 in        succession, and ends at vertex u_(τ(π(i))) in stage s; and    -   the paths {h₀, . . . , h_(w−1)} do not have common edges in H,        i.e., they are edge disjoint in H.        We will refer to the collection (τ(•), h₀, . . . , h_(w−1)) as        an interconnection instance for π(•).

The edges of H are assigned to the channels of the ring network asfollows. The W edges of H between the vertices in stages 0 and 1 areassigned to the channels of link 0 such that for i=0, 1, . . . , W−1,the edge incident to u_(i) of stage 0 is assigned to the channelnumbered i. The W edges of H between vertices in stages s−1 and s areassigned to the channels of link (s−1) mod N such that for i=0, 1, W−1,the edge incident to v_(i) of stage s is assigned to the channelnumbered i. For i=1, . . . , s−2, the W edges of H between the verticesin stages i and (i+1) mod N are assigned to the W channels of link i modN in the ring network. (Note that it is possible for two differentstages of edges of H to be assigned to the channels of the same link,e.g., if s=N+1 then the edges between stages 0 and 1 and the edgesbetween stages s−1 and s will both be assigned to the channels in link0.) We will use the notation that if e is an edge in H then γ(e) is thechannel it is assigned to.

The ring network is configured as follows. For i=1, 2, . . . , s−1,channels are attached through node i mod N of the ring network asfollows: if e and é are edges of H such that e is between the stages i−1and i of vertices, é is between stages i and i+1 of vertices, and e andé are incident to a common vertex in stage i then the channels γ(e) andγ(é) are attached through node i. All other nodes of the ring networkare configured so that there is no channel conversion.

A particular topology for H that leads to a network configuration ofchannel degree two at every node is the Benes interconnection networktopology [12]. The Benes topology has s=2 log₂ W, so that it has 2 log₂W+1 stages of vertices, where the stage 0 vertices {u₀, . . . , u_(w−1)}are the inputs of the Benes topology and stage s vertices {v₀, . . . ,v_(w−1)} are the outputs. FIG. 3 shows the graph H for the case W=4.Here, there are 5 stages of vertices, where the stage 0 vertices are{u₀, u₁, u₂, u₃}, the stage 1 vertices are {χ₀(1), χ₁(1)}, the stage 2vertices are {χ₀(2), χ₁(2)}, the stage 3 vertices are {χ₀(3), χ₁(3)},and the stage 4 vertices are {v₀, v₁, v₂, v₃}. Also note that there areexactly W=4 edges between consecutive stages of vertices.

Notice that in a Benes topology H, vertices in an intermediate stage ihave exactly two incident edges to vertices in stage i+1, and exactlytwo incident edges to vertices in stage i−1. This implies that in theresulting configured ring network, each node has channel degree at mosttwo.

The Benes topology has the property that for any permutation π(•) on {0,. . . , W−1}, there is an interconnection instance (τ(•), h₀, . . . ,h_(w−1)) such that τ(•) satisfies (τ(0), τ(1), . . . , τ(W−1))=(0, 1, .. . , W−1), i.e., τ(•) is the identity function. Thus, for i=0, . . . ,W−1, the path h_(i) starts at vertex u_(i) and ends at vertex v_(π(i)).The Benes topology is referred to as a permutation network since it hasthis property. FIG. 3 shows an example {h₀, h₁, h₂, h₃} for thepermutation π(•) that satisfies (π(0), π(1), π(2), π(3))=(1, 2, 3, 0)for the case when W=4. Here,

-   -   h₀=u₀-χ₀(1)-χ₁(2)-χ₀(3)-v₁    -   h₁=u₁-χ₀(1)-χ₀(2)-χ₁(3)-v₂    -   h₂=u₂-χ₁(1)-χ₁(2)-χ₁(3)-v₃,        and    -   h₃=u₃-χ₁(1)-χ₀(2)-χ₁(3)-v₂

As an example of a network configuration consider a 4-node ring networkwith W=4 channels per link. Let H be the Benes network graph in FIG. 3.The edges of H between the stage 0 and stage 1 vertices are assigned tothe channels of link 0. Similarly, the edges between stages 1 and 2 areassigned to the channels of link 1, the edges between stages 2 and 3 areassigned to the channels of link 2, and the edges between stages 3 and 4are assigned to the channels of link 3. In the figure, the channelnumbers for each edge are given. For example, edge χ₀(1)-χ₁(2) isassigned to a channel numbered 1 (in link 1), i.e., γ(χ₀(1)-χ₁(2)) isthe channel numbered 1 in link 1. Notice that vertices u₀, u₁, u₂, andu₃ are assigned to channels numbered 0, 1, 2, and 3, respectively. Also,vertices v₀, v₁, v₂, and v₃ are assigned to channels numbered 0, 1, 2,and 3, respectively. Now, if a pair of edges of H are incident to acommon vertex in stage i (i=1, . . . , s−1) and one edge is betweenstages i−1 and i and the other is between stages i and i+1 then theirassigned channels are attached through node i. For example, edgesχ₀(1)-χ₁(2) and χ₁(2)-χ₁(3) of Hare incident to a common vertex χ₁(2).Then their associated channels in the ring network (channel 1 of link 1and channel 3 of link 2) are attached through node 2. Note that node 0has no channel conversion. The corresponding wiring arrangement for thering network configuration is shown in FIG. 4. Nodes 1, 2 and 3 realizea Benes network graph and node 0 is wired so that there is no channelconversion.

Once the ring network has been configured (with respect to some H), thena channel assignment can be found for any request that satisfiesλ_(max)≦W. We will now describe a channel assignment for such a request{p₁, . . . , p_(m)}, where m is the number of routes in the request.

First, a cut-and-color partition (P₀, . . . , P_(w−1)) is found for therequest. Next, a permutation π(•) on {0, 1, . . . , W−1} is found withthe following property: for each cut route p_(i) of the request,consider its left residual path a_(i) and right residual path b_(i), andif the a_(i) is in P_(j) and b_(i) is in P_(k) then π(j)=k. We willrefer to such a permutation as a permutation for the cut-and-colorpartition. (Note that there may be more than one permutation for apartition if the number of cut paths is less than W.)

One method to determine a permutation π(•) of the cut-and-colorpartition is as follows. Let Γ denote a set that equals {0, . . . ,W−1}. Now for each cut route p_(i), of the request do the following: (1)determine the left residual path a_(i) and right residual path b_(i) ofp_(i); (2) determine j_(a) and j_(b) such that a_(i)εP_(ja) andb_(i)εP_(jbi); and then let π(j_(a))=j_(b) and remove the value j_(b)from the set Γ. For each i=0, . . . , W−1, such that the value of π(i)has yet to be determined, pick a value j from Γ, and then let π(i)=j andremove j from ΓF. For example, suppose W=4 and the only cut routes ofthe request are p₁ and p₂. Suppose the cut-and-color partition (P₀, . .. , P₃) is such that a₁εP₂, b₁εP₃, a₂εP₃, and b₂εP₀. Then π(2)=3 andπ(3)=0. This leaves the values of π(0) and π(1) yet to be determined.Their values should not be from the set {0, 3}, which have already beenused. Thus, we can let π(0)=2 and π(1)=1 which will leave π(•) apermutation.

Now for each i=0, . . . , W−1, a collection of channels of the ringnetwork is assigned to P_(i), one channel per link of the ring network.This is done as follows. For the graph H and permutation π(•) (of thecut-and-color partition), find the interconnection instance (τ(•), h₀,h₁, . . . , h_(w−1)). For each i=0, . . . , W−1, let

-   -   {e_(i)(0), e_(i)(1), . . . , e_(i)(j), . . . , e_(i)(s−2)}        denote the edges of H traversed by path h_(τ(i)), where e_(i)(j)        is the one between stages j and j+1. Let    -   {g_(i)(0), g_(i)(1), . . . , g_(i)(j), . . . , g_(i)(s−2)}        be the collection of channels of the ring network, where        g_(i)(j) is the channel assigned to edge e_(i)(j), i.e.,        g_(i)(j)=γ(e_(i)(j)). In addition, if s≦N then let    -   {g_(i)(s−1), g_(i)(s+1), . . . , g_(i)(j), . . . , g_(i)(N−1)}        be the collection of channels of the ring network, where        g_(i)(j) is the channel numbered τ(π(i)) of link j. The        collection    -   {g_(i)(0), g_(i)(1), . . . , g_(i)(N−1)}        are the channels assigned to P_(i).

The channel assignment for the request can now be determined. For eachuncut route p_(i), assign channels to it as follows. Find k such thatp_(i)εP_(k). For each link j of the ring network traversed by p_(i),assign channel g_(i)(j) to route p_(i).

For each cut route p_(i), assign channels to it as follows. Let a_(i)and b_(i) be the residual paths of p_(i). Find k_(a) and k_(b) such thata_(i)εP_(ka). and biεP_(kb). For each link j traversed by a_(i), assignchannel g_(ka)(j) to route p_(i). For each link j traversed by b_(i),assign channel g_(kb)(j) to route p_(i).

Example: As an example consider a 4-node ring network with W=4 channelsper link and configured according to the H in FIG. 3. The correspondingwiring arrangement for the ring network configuration is shown in FIG.4. Nodes 1, 2 and 3 realize a Benes interconnection network and node 0is wired so that there is no conversion.

Consider the same request as in FIG. 2. The cut-and-color partition isthe same as before. A permutation π(•) for the partition is

-   -   (π(0), π(1), π(2), π(3))=(1, 2, 3, 0).        (Notice, since there are only two cut routes in the request {p₀,        . . . , p₅}, that there are other permutations for the        partition, e.g., (π¹(0), π¹(1), π₁(2), π¹(3))=(1, 2, 0, 3).)

An interconnection instance (τ(•), h₀, h₁, h₂, h₃) for π(•) is whereπ(•) is the identity function (i.e., (τ(0), τ(1), τ(2), τ(3))=(0, 1, 2,3)) and

-   -   h₀=u₀-χ₀(1)-χ₁(2)-χ₀(3)-v₁,    -   h₁=u₁-χ₀(1)-χ₀(2)-χ₁(3)-v₂,    -   h₂=u₂-χ₁(1)-χ₁(2)-χ₁(3)-v₃,        and    -   h₃=u₃-χ₁(1)-χ₀(2)-χ₀(3)-v₀,        as shown in FIG. 3. Equivalently, the paths traverse the        following edges of H:    -   h₀: u₀-χ₀(1), χ₀(1)-χ₁(2), χ₁(2)-χ₀(3), χ₀(3)-v₁,    -   h₁: u₁-χ₀(1), χ₀(1)-χ₀(2), χ₀(2)-χ₁(3), χ₁(3)-v₂,    -   h₂: u₂-χ₁(1), χ₁(1)-χ₁(2), χ₁(2)-χ₁(3), χ₁(3)-v₃,    -   h₃: u₃-χ₁(1), χ₁(1)-χ₀(2), χ₀(2)-χ₀(3), χ₀(3)-v₀.        Using the assignment of edges to channels, as shown in FIG. 3,        we can get an assignment of channels to each P_(i), (i=0, 1, 2,        3). For example, for P₀, we consider the edges traversed by h₀.        The edge u₀-χ₀(1) is assigned to channel 0 in link 0, the edge        χ₀(1)-χ₁(2) is assigned to channel 1 in link 1, the edge        χ₁(2)-χ₀(3) is assigned to channel 1 in link 2, and the edge        χ₀(3)-v₁ is assigned to channel 1 in link 3. The following are        the channel assignments to each P_(i) (i=0, 1, 2, 3).

Channels Set Link 0 Link 1 Link 2 Link 3 P₀ 0 1 1 1 P₁ 1 0 2 2 P₂ 2 3 33 P₃ 3 2 0 0

Based on this, the individual routes are assigned channels. For example,consider an uncut route p₃=2-3-0. Notice that p₃εP₂, and so p₃ useschannels assigned to P₂. Since p₃ traverses links 2 and 3, its channelsare (according to the table above) channel 3 in link 2 and channel 3 inlink 3. As another example, consider the cut route p₂=2-3-0-1. Noticethat p₂ has the residual paths a₂=2-3-0 and b₂=0-1. Notice that a₂εP₀,and so p₂ uses some of the channels assigned to P₀. In particular, sincea₂ traverses links 2 and 3, the channels are (according to the tableabove) channel 1 in link 2 and channel 1 in link 3. Notice that b₂εP₁,and so p₂ uses a channel assigned to P₁. In particular, since b₂traverses link 0, the channel is (according to the table above) channel1 in link 0.

The channel assignment for the request {p₀, . . . , p₅} is shown in thetable below.

Links Route 0 1 2 3 p₀ 0 1 — — p₁ — 0 2 — p₂ 1 — 1 1 p₃ — — 3 3 p₄ 2 3 —2 p₅ — 2 0 —

The switching arrangement in the line cards to do this is shown in FIG.5.

Configuration for Channel Degree Δ+1, where Δ>1

Consider a ring network with N≧log_(Δ) W nodes. There is a configurationthat has channel degree at most Δ+1 at each node with the followingproperty. All requests that have load at most W are feasible.

Consider the following network configuration. For each link i=0, 1, . .. , N−1, its channel jε{0, 1, . . . , W−1} is attached to the followingchannels on link (i+1) mod N: channel (j+1) mod W and channels{(j−k·Δ^(i)) mod W: k=0, 1, . . . , Δ−1}. Note that in thisconfiguration, each node has channel degree at most Δ+1.

As an example consider the case of a 4-node ring network with W=4channels per link, and Δ=2. Then for each link iε{0, 1, 2, 3}, itschannel jε{0, 1, 2, 3} is attached to channels (j+1) mod 4, j, and(j−2^(i)) mod 4 on link (i+1) mod 4. For example, channel 1 on link 0 isattached to channels 2, 1, and 0 on link 1. As another example, notethat channel 2 on link 3 is attached to channels 3 and 2 on link 0. Thewiring arrangement is shown in FIG. 6.

Now consider an arbitrary request {p₁, . . . , p_(m)} with load at mostW. We will now describe how to find a channel assignment for it. We canfind a cut-and-color partition (P₀, . . . , P_(w−1)) and a permutationπ(•) for the partition as before. We will use the following definition.We call two numbers i and j in {0, 1, . . . , W} to be π-related ifthere is a value k and a sequence (τ₀, τ₁, . . . , τ_(k)) of numbersfrom {0, . . . , W−1} such that τ₀=i, τ_(k)=j, and for i=0, 1, . . . ,k−1, π(τ_(i))=τ_(i+1). For example, suppose W=8 and

-   -   (π(0), π(1), π(2), π(3), π(4), π(5), π(6), π(7))=(1, 3, 7, 5, 4,        0, 2, 6).        Note that π(0)=1, π(1)=3, π(3)=5, and π(5)=0. Thus, the numbers        {0, 1, 3, 5} are π-related. Similarly, the numbers within the        following subsets are π-related: {2, 7, 6} and {4}.

Partition the set {0, . . . , W−1} into nonempty subsets {C₀, . . . ,C_(M−1)}, where M is the number of subsets, such that numbers within asubset are π-related, while numbers from different subsets are not.Continuing with our example, the subsets could be C₀={0, 1, 3, 5},C₁={2, 7, 6}, and C₂={4}. For each i=0, . . . , M−1, let s_(i) denotethe size of C_(i). Then for the example, s₀=4, s₁=3, and s₂=1.

Define any subset of {0, . . . , W−1} as a contiguous subset if it canbe written as

-   -   {(i+j)mod W:j=0, . . . , k}        for some i and k in {0, . . . , W−1} Partition {0, . . . , W−1}        into W contiguous subsets (T₀, . . . , T_(M−1)) such that T_(i)        has size s_(i). This can be done by finding a collection of        numbers {t₀, . . . , t_(M−1)} from {0, . . . , W−1} such that        for i=0, . . . , M−1,    -   t_((i+1) mod M)=(t_(i)+s_(i)) mod W.        Then for i=0, . . . , M−1,    -   T_(i)={(t_(i)+j)mod W:j=0, . . . , s_(i)−1}.        To continue with our example, we could have t₀=0, t₁=4, t₂=7,        T₀={0, 1, 2, 3}, T₁={4, 5, 6}, and T₂={7}.

For i=0, . . . , M−1, find a function q_(i)(•) that is defined on theset {0, . . . , s_(i)−1} such that

1. there is an element jεC_(i) such that q_(i)(j)=0 and

2. for each element jεC_(i), q_(i)(π(j))=(q_(i)(j)+1) mod s_(i).

To continue with our example, let us determine what q₀(•) should be.Recall that C₀={0, 1, 3, 5}, and that π(0)=1, π(1)=3, π(3)=5, andπ(5)=0. Then we could have (q₀(0), q₀(1), q₀(3), q₀(5))=(0, 1, 2, 3).Similarly, we could have (q₁(2), q₁(7), q₁(6))=(0, 1, 2), and(q₂(4))=(0).

For k=0, . . . , M−1, let (d_(N−1)(k), d_(N−2)(k), . . . , d₀(k)) denotethe base Δ, N digit representation of the value s_(k)−1. Now, for i=0, .. . , N−1, let

${D_{i\;}(k)} = \left\{ \begin{matrix}{0,} & {{{if}\mspace{14mu} i} = 0} \\{{\sum\limits_{n = 0}^{i - 1}{{d_{n}(k)} \cdot \Delta^{n}}},} & {{{if}\mspace{14mu} i} > 0}\end{matrix} \right.$For example, if N=4, s_(k)−1=15, and Δ=2 then

-   -   (d₃(k), d₂(k), d₁(k), d₀(k))=the binary number (1, 1, 1, 1),        and    -   (D₃(k), D₂(k), D₁(k), D₀(k))=(7, 3, 1, 0).        As another example, if N=3, s_(k)−1=15, and Δ=3 then    -   (d₂(k), d₁(k), d₀(k))=the ternary number (1, 2, 0),        and    -   (D₂(k), D₁(k), D₀(k))=(6, 0, 0).

For each subset P_(i) (i=0, . . . , W−1) from the cut-and-colorpartition, we assign it channels as follows. The channels assigned toP_(i) will be denoted by σ(i, 0), σ(i, 1), . . . , σ(i,j), . . . , σ(i,N−1), where σ(i,j) is the channel on link j. Let k be such thatP_(i)εC_(k). For j=0, . . . , N−1, let ρ(i,j) be the following value

${\rho\left( {i, j} \right)} = \left\{ \begin{matrix}{{s_{k} - 1 - {D_{j}(k)}},} & {{{if}\mspace{14mu}{q_{k}(i)}} = {s_{k} - 1}} \\{{q_{k}(i)},} & {{{if}\mspace{14mu}{q_{k}(i)}} < {s_{k} - {1\mspace{14mu}{and}\mspace{14mu}{q_{k}(i)}}} < {s_{k} - 1 - {D_{j}(k)}}} \\{{{q_{k}(i)} + 1},} & {{{if}\mspace{14mu}{q_{k}(i)}} < {s_{k} - {1\mspace{14mu}{and}\mspace{14mu}{q_{k}(i)}}} \geq {s_{k} - 1 - {D_{j}(k)}}}\end{matrix} \right.$For j=0, . . . , N−1, let σ(i,j)=(t_(k)+ρ(i,j)) mod W. For example,suppose N=4, Δ2, W=32, and C_(k)={4, 5, . . . , 11}. Here, note thats_(k)=8,

-   -   (d₃(k), d₂(k), d₁(k), d₀(k))=(0, 1, 1, 1),        and    -   (D₃(k), D₂(k), D₁(k), D₀(k))=(7, 3, 1, 0).        Suppose that    -   (π(4), π(5), . . . , π(11))=(5, 6, . . . , 11, 4)        and    -   (q_(k)(4), q_(k)(5), . . . , q_(k)(11))=(0, 1, . . . , 6, 7).        In addition, to simplify the example, suppose that t_(k)=0, so        that σ(i,j)=ρ(i,j) for all iεC_(k). Then we have the following        channel assignment for the subsets in C_(k):

Sets Link P₄ P₅ P₆ P₇ P₈ P₉ P₁₀ P₁₁ 0 0 1 2 3 4 5 6 7 1 0 1 2 3 4 5 7 62 0 1 2 3 5 6 7 4 3 1 2 3 4 5 6 7 0The values of σ(l,j), where lεC_(k), can be read from the table. Forexample, the channels assigned to P₈ are channel σ(8, 0)=4 in link 0,channel σ(8, 1)=4 in link 1, channel σ(8, 2)=5 in link 2, and channelσ(8, 3)=5 in link 3. To see what the table looks like when t_(k) is notzero, suppose the t_(k) were changed to 10. Then the following channelassignment for the subsets in C_(k) would result.

Sets Link P₄ P₅ P₆ P₇ P₈ P₉ P₁₀ P₁₁ 0 10 11 12 13 14 15 16 17 1 10 11 1213 14 15 17 16 2 10 11 12 13 15 16 17 14 3 11 12 13 14 15 16 17 10

Channels can be assigned to each route p_(k) of the request as follows.Suppose p_(k) is an uncut route. Let i be such that p_(k)εP_(i). Foreach link j that is traversed by p_(k), the channel σ(i,j) of the linkis assigned to p_(k). Suppose p_(k) is a cut route. Let a_(k) and b_(k)be its residual paths. Let i_(a) and i_(b) be such that a_(k)εP_(ia) andb_(k)εP_(ib). For each link j that is traversed by a_(k), the channelσ(i_(a),j) of the link is assigned to p_(k). For each link j that istraversed by b_(k), the channel σ(i_(b),j) of the link is assigned top_(k).

Example: Consider a 4-node ring network that has W=4 channels per link,and where it is configured according to Δ=2. Hence, the wiringarrangement in the line cards is shown in FIG. 6.

Suppose the requests are shown in FIG. 2. The cut-and-color partitionand the permutation π(•) for the partition is the same as before. Thus,(π(0), π(1), π(2), π(3))=(1, 2, 3, 0). Then we have C₀={0, 1, 2, 3},s₀=4,

-   -   (d₃(0), d₂(0), d₁(0), d₀(0))=(0, 0, 1, 1),    -   (D₃(0), D₂(0), D₁(0), D₀(0))=(3, 3, 1, 0),        -   and    -   (q₀(0), q₀(1), q₀(2), q₀(3))=(0, 1, 2, 3)        Thus the sets P₀, P₁, P₂, P₃ are assigned channels on the links        as follows:

Links Set 0 1 2 3 p₀ 0 0 1 1 p₁ 1 1 2 2 p₂ 2 3 3 3 p₃ 3 2 0 0Based on this, the individual routes are assigned channels as givenbelow:

Links Route 0 1 2 3 p₀ 0 0 — — p₁ — 1 2 — p₂ 1 — 1 1 p₃ — — 3 3 p₄ 2 3 —2 p₅ — 2 0 —The switch settings corresponding to this assignment are shown in FIG.7.Star Network

FIG. 8 shows the block diagram of multiplexors 101 connected in a starnetwork configuration. The network consists of a hub node 102H and spokenodes 102E. The spoke nodes are connected to the hub node by atransmission link or medium 103. Each spoke node 102E in the networkconsists of a multiplexor. The hub node consists of a multiplexor foreach link (or each spoke node) in the network. The multiplexors in thehub node are wired together according to a specified pattern. The figureshows 4 channels on each link. For each channel there is a line card 104within each multiplexor. A line card consists of an I/O port 105,multiple local ports 106 and a line port 107 and a switch (not shown inthe figure) that allows any pairs of these ports to be connectedtogether.

Our results use the following network configuration of channels when W,the number of channels per link, is even. Each link has its channel i=0,1, . . . , W/2−1 connected to channel w(i) (through the hub node) on allthe other links, where w(i)=i+W/2. We will denote the hub node by h, andthe spoke nodes by χ₁, . . . , χ_(N−1). For i=1, . . . , N−1, let e_(i)denote the link between nodes h and χ_(i).

Once the network is configured, a channel assignment may be found forany request that has load at most W and each route of the requesttraverses at most two links. The following is the procedure to find achannel assignment. Let {p₁, . . . , p_(M)} denote the routes of therequest. Let {p₁, . . . , p_(m)} denote the routes that traverse exactlytwo links. Hence, the routes {p_(m+1), . . . , p_(M)} denote the onesthat traverse exactly one link.

We will refer to a path as being incident to its end nodes. For example,a path that traverses a sequence of nodes (χ_(i), h, χ_(j)) (hence, ittraverses exactly two links), is considered to be incident to its endnodes χ_(i) and χ_(j) (here, h is an intermediate node). As anotherexample, a path that traverses the sequence of nodes (χ_(j), h) (hence,it traverses exactly one link), is considered to be incident to its endnodes χ_(j) and h.

A path may be directed, which means that it is viewed as going from oneof its end nodes to its other end node. For example, if a path traversestwo links and has end nodes χ_(i) and χ_(j) then it may be directed fromχ_(i) to h and then to χ_(j), or it may be directed from χ_(j) to h andthen to χ_(i). If a path traverses one link and has end nodes χ_(i) andh then it may be directed from χ_(i) to h, or it may be directed from hto χ_(i). As part of the channel assignment procedure, the routes {p₁, .. . , p_(m)} will be directed so that at each spoke node there are atmost W/2 incident routes of {p₁, . . . , p_(m)} that are directed intothe node, and at most W/2 incident routes of {p₁, . . . , p_(m)} thatare directed out of the node. The procedure to direct these routes is asfollows.

If the number of routes of {p₁, . . . , p_(m)} that traverse each linkis exactly W then let R=M. Otherwise, find additional paths {p_(M+1), .. . , p_(R)} such the number of routes of {p₁, . . . , p_(R)} thattraverse each link is exactly W. The additional paths {p_(M+1), . . . ,p_(R)} are referred to as dummy paths. Note that the dummy paths can befound as follows. For i=1, . . . , N−1, let there be W−n_(i) dummypaths, each traversing only link e_(i), where n_(i) is the number ofroutes (that are not dummy paths) traversing link e_(i).

The paths of {p₁, . . . , p_(R)} are directed as follows. Consider eachpath of {p₁, . . . , p_(R)} as being initially undirected. Refer to anode that has at least one undirected incident path as a free node. Aslong as there is a free node, do the following:

1. Start from a free node, say χ_(j), and traverse an undirectedincident path (from the set {p₁, . . . , p_(R)}) to the other end node,and direct the path in the direction of the traversal.

2. From the other end node, traverse an undirected incident path (fromthe set {p₁, . . . , p_(R)}) to the next end node, and direct the pathin the direction of the traversal.

3. Keep traversing undirected paths (and directing the traversed paths)in this way until node χ_(j) is reached.

Now construct a bipartite graph G which has two sets of vertices: {u₁, .. . , u_(N−1)} and {v₁, . . . , v_(N−1)}. It has edges b₁, . . . ,b_(m), where b₁ is between u_(j) and v_(k) if path p_(i) traverses linkse_(j) and e_(k) in the star network and p_(i) is directed so that itgoes from node χ_(j) to h and then to χ_(k). Note that in G, each vertexhas at most W/2 incident edges because each spoke node of the starnetwork has at most W/2 incoming incident paths and at most W/2 outgoingincident paths. Next, assign numbers {0, . . . , W/2−1} to the edges ofG such that distinct numbers are assigned to edges incident to a commonnode, and denote the number assigned to link b_(i) (for i=1, . . . , m)by q(b_(i)). This can be accomplished using the scheduling algorithmsused for Satellite Switched/Time Division Multiple Access (SS/TDMA)systems [13], incorporated herein by reference. Using the assignment ofnumbers, we can get a channel assignment for the routes {p_(i), . . . ,p_(m)} as follows. For i=1, . . . , m, suppose p_(i) traverses linkse_(j) and e_(k) such that the direction of p_(i) goes from χ_(j) to hand then to χ_(k). Then channel q(b_(i)) on link e_(j) is assigned top_(i), and the channel w(q(b_(i))) on link e_(k) is also assigned top_(i).

Note that up to this point, channels have been assigned to the routes{p_(i), . . . , p_(m)} Now channels will be assigned to the routes{p_(m+1), . . . , p_(M)} (i.e., the routes that traverse exactly onelink). This can be done by selecting each route and assigning it achannel on the link that it traverses that has yet to be assigned to aroute.

Example: Consider the five node star network of FIG. 8, redrawn in FIG.9(A). The network has a hub node h, and four spoke nodes {χ₁, χ₂, χ₃,χ₄} Note that for i=1, 2, 3, 4, spoke node χi and hub node h have linke_(i) between them. Note that each link has W=4 channels numbered 0, 1,2, 3. These channel numbers are partitioned into two groups: {0, 1} and{2, 3}. Note that w(0)=2 and w(1)=3. The hub node is configured so thatfor i=0, 1, a channel i at each link is connected to channel w(i) at allthe other links.

Now suppose there is a request {p₁, p₂, . . . , p₆} of six routes asshown in FIG. 9(A). These routes are as follows:

-   -   p₁=χ₁-h-χ₂    -   p₂=χ₂-h-χ    -   p₃=χ₃-h-χ₁    -   p₄=χ₁-h-χ₄    -   p₅=χ₃-h-χ₄        and    -   p₆=χ₃-h-χ₁.

Note that there are W=4 routes of the request traversing links e₁ ande₃, but there are only two routes of the request traversing links e₂ ande₄. Dummy paths p₇, p₈, p₉, and p₁₀ are found for the links e₂ and e₄ asshown in FIG. 9(A). Note that the paths p₇ and p₈ only traverse link e₂,and paths p₉ and p₁₀ only traverse link e₄. Now each link has exactlyW=4 paths traversing it.

Paths p₁, . . . , p₁₀ are initially considered undirected. Then they aredirected as follows. First a node is chosen that has an undirected pathincident to it (i.e., a free node is chosen). Node χ₁ is such a nodesince it has undirected paths p₁, p₃, p₄, p₆ incident to it. One of theundirected incident paths is chosen to be traversed, say path p₁. Aftertraversing it to node χ₂, it is directed from end node χ₁ to end nodeχ₂. From node χ₂, an undirected incident path is chosen to be traverse.Such paths are p₂,p₇,p₈. Suppose path p₂ is chosen. After traversing itto node χ₃, it is directed from end node χ₂ to end node χ₃. From nodeχ₃, an undirected incident path is chosen to be traversed. Such pathsare p₃,p₅,p₆. Suppose path p₃ is chosen. After traversing it to node χ₁,it is directed from end node χ₃ to end node χ₁. Note that the paths p₁,p₂,p₃ are directed is shown in FIG. 9(B). Since we returned to node χ₁,we start the procedure of directing paths all over again. FIG. 9(B)shows the direction of paths p₄,p₅,p₆ which results by starting fromnode χ₄ and traversing paths p₅, p₆, and then p₄. FIG. 9(B) also showsthe direction of paths p₇, p₈,p₉,p₁₀ which results by starting from nodeχ₂ and traversing paths p₇,p₉,p₁₀, and then p₈. Note that we have thefollowing directions for the paths:

-   -   p₁=χ₁→h→χ₂    -   p₂=χ₂→h→χ₃    -   p₃=χ₃→h→χ₁    -   p₄=χ₁→h→χ₄    -   p₅=χ₄→h→χ₃    -   p₆=χ₃→h→χ₁    -   p₇=χ₂→h    -   p₈=h→χ₂    -   p₉=h→χ₄        and    -   p₁₀=χ₄→h.

We now construct a bipartite graph G, as shown in FIG. 9(C), with twosets of vertices {u₁, u₂, u₃, u₄} and {v₁, v₂, v₃, v₄}. There are sixedges between the nodes denoted by {b₁, b₂, b₆}. For i=1, . . . , 6, theedge b_(i) corresponds to the route p_(i) in the request. If p_(i) hasend nodes χ_(j) and χ_(k) and is directed from χ_(j) to χ_(k) then edgeb_(i) is between vertices u_(j) and v_(k). Thus, the edges of G are

-   -   b₁=u₁-v₂    -   b₂=u₂-v₃    -   b₃=u₃-v₁    -   b₄=u₁-v₄    -   b₅=u₄-v₃        and    -   b₆=u₃-v₁.

Numbers from the set {0, 1} (i.e., {0, . . . , W/2−1}) are assigned tothe edges of G so that at each vertex of G, its incident edges havedistinct numbers. The number assigned to edge b_(i) will be denoted byq(b₁). A number assignment is shown in FIG. 9(C). Here, q(b₁)=0,q(b₂)=1, q(b₃)=0, q(b₄)=1, q(b₅)=0, and q(b₆)=1. Note that the SS/TDMAscheduling algorithm can be used to determine q(b₁) for each edge b_(i)of G.

The channel assignment to the routes are as follows. Note that p₁corresponds to b₁, which has end vertices u₁ and v₂. Note that u₁corresponds to link e₁, and v₂ corresponds to link e₂. The channelsassigned to p₁ are channel q(b₁)=0 on link e₁ and channel w(q(b₁))=2 onlink e₂. The channel assignment for all the routes of the request aregiven below:

p₁: channel 0 on link e₁, and channel 2 on link e₂,

p₁: channel 1 on link e₂, and channel 3 on link e₃,

p₃: channel 0 on link e₃, and channel 2 on link e₁,

p₄: channel 1 on link e₁, and channel 3 on link e₄,

p₅: channel 0 on link e₄, and channel 2 on link e₃,

and

p₆: channel 1 on link e₃, and channel 3 on link e₁.

The corresponding setting of the switches and channel assignment in thenetwork are shown in FIG. 10 for routes p₁, p₂ and p₃ as anillustration.

Arbitrary Topology Networks

Consider an arbitrary topology network such that each link has Wchannels, where W is even. Then the following method gives a fixedconversion configuration of the network and a channel assignment thatassigns channels for any set of connections with routes that havecongestion at most W and have at most two hops.

The channel assignment is done by converting the given network into astar network as follows. Each link i′ in the star network corresponds toa link i in the original network. A connection that is to be routed onlinks i and j in the original network is now to be routed on links i′and j′ in the star network. The congestion in the star network is atmost W and hence these connections can be routed using the results ofthe star configuration.

While this invention has been particularly shown and described withreferences to example embodiments thereof, it will be understood bythose skilled in the art that various changes in form and details may bemade therein without departing from the scope of the inventionencompassed by the appended claims.

What is claimed is:
 1. A primary node for a ring communications network,the primary node comprising: first and second multiplexors configured toconnect to first and second multichannel transmission links,respectively, to adjacent nodes in the ring communications network, eachmultiplexor including: line cards coupled between the first and secondmultiplexors, the line cards being configured to connect any channel onthe first multichannel transmission link to any channel on the secondmultichannel transmission link; and a mux/demux unit coupling the linecards with the respective multichannel transmission link.
 2. The primarynode of claim 1, wherein the primary node is further configured toconnect through the first multichannel transmission link to another nodeon the ring network that is configured for no channel conversion, nochannel conversion being an ability to connect each of the channels onthe first multichannel transmission link to corresponding channels on athird multichannel transmission link.
 3. The primary node of claim 1,wherein the first and second multiplexors are configured to demultiplexchannels input to the primary node and multiplex channels output fromthe primary node.
 4. The primary node of claim 1, wherein the line cardsinclude switches.
 5. The primary node of claim 1, wherein themultichannel transmission links are optical fiber links.
 6. A node for aring communications network, the node comprising: first and secondmultiplexors configured to connect to first and second multichanneltransmission links, respectively, to adjacent nodes in the ringcommunications network, each multiplexor including: line cards coupledbetween the first and second multiplexors, the line cards beingconfigured to connect a first channel on the first multichanneltransmission link to the same first channel on the second multichanneltransmission link; and a mux/demux unit coupling the line cards with therespective multichannel transmission link.
 7. The node of claim 5,wherein the first and second multiplexors are configured to demultiplexchannels input to the node and multiplex channels output from the node.8. The node of claim 5, wherein the first and second multichanneltransmission links are optical fiber links.
 9. The node of claim 5,wherein the line cards include switches.
 10. A hub node for a starcommunications network, the hub node comprising: multiplexors configuredto be coupled to multichannel transmission links, each link including aneven number of channels divided into first and second groups, and eachmultiplexor including: line cards operably coupled to the multiplexors,each line card being configured to couple each channel of the firstgroup of a first link to one channel of the second group of each of theother links; and a mux/demux unit coupling the line cards with therespective multichannel transmission link.
 11. The hub node of claim 10,wherein the first group of channels includes channels i=0, 1, . . . ,W/2-1 and the one channel of the second group of channels is channeli+W/2, where W is an even number.
 12. The hub node of claim 11, whereinno more than W channels are assigned to the transmission of data alongany of the links.
 13. The hub node of claim 10, wherein routes areassigned to the channels which traverse at most two links in the starcommunications network.
 14. The hub node of claim 10, wherein themultiplexors are configured to demultiplex channels input to the nodeand multiplex channels output from the node.
 15. The hub node of claim10, wherein the multichannel transmission links are optical fiber links.16. The hub node of claim 10, wherein the line cards include switches.17. A hub node for a star communications network, the hub nodecomprising: multiplexors configured to connect to multichanneltransmission links, each link being arranged to carry no more than acertain number of channels into and out of the hub node, and eachmultiplexor including: line cards operably coupled to the multiplexors,each line card being configured to connect physically each channel of afirst link to no more than two predetermined channels of a second linkthrough the hub node; and a mux/demux unit coupling the line cards withthe respective multichannel transmission link.
 18. The hub node of claim17, wherein the multiplexors are configured to demultiplex channelsinput to the node and multiplex channels output from the node.
 19. Thehub node of claim 17, wherein the multichannel transmission links areoptical fiber links.
 20. The hub node of claim 17, wherein the linecards include switches.